Skip to content

dgb: embedded Mempool->shaper->template e2e assembly conformance KAT (Phase B FEED) - #278

Merged
frstrtr merged 1 commit into
masterfrom
dgb/embedded-template-e2e-assembly-kat
Jun 20, 2026
Merged

dgb: embedded Mempool->shaper->template e2e assembly conformance KAT (Phase B FEED)#278
frstrtr merged 1 commit into
masterfrom
dgb/embedded-template-e2e-assembly-kat

Conversation

@frstrtr

@frstrtr frstrtr commented Jun 20, 2026

Copy link
Copy Markdown
Owner

Phase B FEED conformance. The embedded tx shaper (make_mempool_tx_source) and build_work_template SSOT are each pinned in isolation (dgb_embedded_tx_select_test #277, dgb_template_builder_test). This pins the SEAM BETWEEN them — the full production chain EmbeddedCoinNode wires.

End-to-end KAT (DgbEmbeddedTxSelect.EndToEndTemplateAssemblyConformance): Mempool -> make_mempool_tx_source() fee-sorted selection -> WorkTemplateInputs.transactions + embedded_coinbase_value fold -> build_work_template(), asserting:

Fence: test-only, single-coin, ZERO src/impl/dgb consensus delta. Target dgb_embedded_tx_select_test already in BOTH build.yml --target allowlists (#143 trap avoided). Local: 6/6 green, GPG Good (b63bac2).

…(Phase B FEED)

The shaper (make_mempool_tx_source) and build_work_template are each
pinned in isolation; nothing pinned that the two seams COMPOSE faithfully.
Add an end-to-end KAT over the production embedded chain: Mempool ->
make_mempool_tx_source() fee-sorted selection -> WorkTemplateInputs ->
build_work_template(), asserting (a) tmpl[transactions] equals the
shaper output byte-for-byte and in feerate-descending order (no
reorder/drop/reshape across the seam), (b) every entry keeps the full
p2pool-dgb-scrypt GBT {data,txid,hash,fee} shape, and (c) the same
selections total_fees folds into tmpl[coinbasevalue] verbatim via the
embedded_coinbase_value SSOT (no double count). Test-only, single-coin,
no src/impl/dgb consensus delta; target already in both build.yml
allowlists.
@frstrtr
frstrtr merged commit 68caa8a into master Jun 20, 2026
29 checks passed
@frstrtr
frstrtr deleted the dgb/embedded-template-e2e-assembly-kat branch June 20, 2026 18:35
frstrtr added a commit that referenced this pull request Jun 23, 2026
…(Phase B FEED) (#278)

The shaper (make_mempool_tx_source) and build_work_template are each
pinned in isolation; nothing pinned that the two seams COMPOSE faithfully.
Add an end-to-end KAT over the production embedded chain: Mempool ->
make_mempool_tx_source() fee-sorted selection -> WorkTemplateInputs ->
build_work_template(), asserting (a) tmpl[transactions] equals the
shaper output byte-for-byte and in feerate-descending order (no
reorder/drop/reshape across the seam), (b) every entry keeps the full
p2pool-dgb-scrypt GBT {data,txid,hash,fee} shape, and (c) the same
selections total_fees folds into tmpl[coinbasevalue] verbatim via the
embedded_coinbase_value SSOT (no double count). Test-only, single-coin,
no src/impl/dgb consensus delta; target already in both build.yml
allowlists.

Co-authored-by: frstrtr <frstrtr@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant